উদাহরণ সহ JSON এবং XML প্রসেসিং

Java Technologies - সার্ভলেটস (Servlets) - Servlet এর মধ্যে JSON এবং XML প্রসেসিং
212

Java সার্ভলেট (Servlets) একটি জাভা টেকনোলজি যা ওয়েব-অ্যাপ্লিকেশনে সার্ভার-সাইড প্রসেসিং করার জন্য ব্যবহৃত হয়। এটি javax.servlet এবং javax.servlet.http প্যাকেজের মাধ্যমে তৈরি করা হয়। সার্ভলেটকে ডেটা প্রসেসিং, যেমন JSON বা XML ডেটা পার্স এবং রেসপন্স তৈরির জন্যও ব্যবহার করা যায়।

নিচে একটি উদাহরণ দেওয়া হলো, যেখানে একটি সার্ভলেট JSON এবং XML ডেটা প্রসেস করে:


উদাহরণ: JSON প্রসেসিং

  1. JSON ডেটা প্রাপ্তি এবং রেসপন্স
    সার্ভলেট ক্লায়েন্ট থেকে JSON ডেটা গ্রহণ করে এবং প্রসেস করে রেসপন্স পাঠাবে।

কোড:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.json.JSONObject;

public class JsonServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Set content type
        response.setContentType("application/json");
        
        // Read JSON data from request
        StringBuilder jsonBuffer = new StringBuilder();
        BufferedReader reader = request.getReader();
        String line;
        while ((line = reader.readLine()) != null) {
            jsonBuffer.append(line);
        }
        
        // Parse JSON
        JSONObject jsonObject = new JSONObject(jsonBuffer.toString());
        String name = jsonObject.getString("name");
        int age = jsonObject.getInt("age");
        
        // Create response JSON
        JSONObject responseJson = new JSONObject();
        responseJson.put("message", "Hello " + name + ", your age is " + age);
        
        // Send response
        PrintWriter out = response.getWriter();
        out.print(responseJson.toString());
        out.flush();
    }
}

ব্যাখ্যা:

  • ক্লায়েন্ট JSON ডেটা (যেমন: { "name": "John", "age": 30 }) পাঠালে সার্ভলেট তা প্রসেস করে একটি রেসপন্স JSON তৈরি করে পাঠায়।
  • org.json.JSONObject লাইব্রেরি JSON ডেটা পার্স এবং তৈরি করতে ব্যবহৃত হয়েছে।

উদাহরণ: XML প্রসেসিং

  1. XML ডেটা প্রাপ্তি এবং রেসপন্স
    সার্ভলেট ক্লায়েন্ট থেকে XML ডেটা গ্রহণ করে এবং তা প্রসেস করে XML আউটপুট পাঠাবে।

কোড:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

public class XmlServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("application/xml");
        
        try {
            // Parse XML input
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document doc = builder.parse(request.getInputStream());
            
            // Get data from XML
            String name = doc.getElementsByTagName("name").item(0).getTextContent();
            String age = doc.getElementsByTagName("age").item(0).getTextContent();
            
            // Create XML response
            Document responseDoc = builder.newDocument();
            Element root = responseDoc.createElement("response");
            responseDoc.appendChild(root);
            
            Element message = responseDoc.createElement("message");
            message.setTextContent("Hello " + name + ", your age is " + age);
            root.appendChild(message);
            
            // Write XML response
            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            DOMSource source = new DOMSource(responseDoc);
            PrintWriter out = response.getWriter();
            StreamResult result = new StreamResult(out);
            transformer.transform(source, result);
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • ক্লায়েন্ট থেকে প্রাপ্ত XML ডেটা (যেমন: <person><name>John</name><age>30</age></person>) প্রসেস করে XML ফরম্যাটে রেসপন্স পাঠানো হয়।
  • javax.xml.parsers এবং javax.xml.transform প্যাকেজ ব্যবহৃত হয়েছে XML প্রসেসিংয়ের জন্য।

ডিপ্লয়মেন্ট:

  1. সার্ভলেট ডিপ্লয়মেন্ট: web.xml ফাইলে সার্ভলেট ম্যাপ করতে হবে।

    <servlet>
        <servlet-name>JsonServlet</servlet-name>
        <servlet-class>JsonServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>JsonServlet</servlet-name>
        <url-pattern>/json</url-pattern>
    </servlet-mapping>
    
    <servlet>
        <servlet-name>XmlServlet</servlet-name>
        <servlet-class>XmlServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>XmlServlet</servlet-name>
        <url-pattern>/xml</url-pattern>
    </servlet-mapping>
    
  2. ক্লায়েন্ট থেকে টেস্ট করা:
    • JSON: POST রিকুয়েস্টের মাধ্যমে JSON ডেটা পাঠানো।
    • XML: POST রিকুয়েস্টের মাধ্যমে XML ডেটা পাঠানো।

এভাবেই Java Servlets ব্যবহার করে JSON এবং XML ডেটা প্রসেস করা যায়।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...